package com.asset.dispoal.file.evidenceRecognition.api;

import com.asset.dispoal.file.evidenceRecognition.dto.CaseEvidenceRecognitionRequest;
import com.asset.dispoal.file.evidenceRecognition.dto.DownloadAndDelEvidenceRequest;
import com.asset.dispoal.file.evidenceRecognition.dto.EvidenceRecognitionProRequest;
import com.asset.dispoal.file.evidenceRecognition.dto.EvidenceRecognitionRequest;
import com.asset.dispoal.file.evidenceRecognition.dto.FileByZipRequest;
import com.asset.dispoal.file.evidenceRecognition.dto.MergeEvidenceDownloadRequest;
import com.asset.dispoal.file.evidenceRecognition.dto.SingleEvidenceRecognitionRequest;
import org.springframework.web.multipart.MultipartFile;
import tech.mhuang.pacebox.springboot.protocol.Result;

/**
 * @author qr
 * @date 2022/4/14$
 */
public interface EvidenceRecognitionService {


    /**
     * 文件上传
     *
     * @param chunks
     * @param chunk
     * @param task_id
     * @param name
     * @param evidenceRecognitionRequest
     * @param file
     * @param state
     * @param filename
     * @return
     */
    Result evidenceUpload(String chunks,
                          String chunk,
                          String task_id,
                          String name,
                          EvidenceRecognitionRequest evidenceRecognitionRequest,
                          MultipartFile file, String state, String filename, String uuid);

    Result evidenceUploadPro(String chunks,
                             String chunk,
                             String taskId,
                             String name, EvidenceRecognitionProRequest evidenceRecognitionRequest,
                             MultipartFile file, String no, String state, String filename, String uuid);

    Result singleEvidenceUpload(SingleEvidenceRecognitionRequest request);

    Result<String> downloadFileByZip(FileByZipRequest request);

    Result<String> downloadAndDelEvidence(DownloadAndDelEvidenceRequest request);

    Result downloadMergeEvidence(MergeEvidenceDownloadRequest request);

    Result caseEvidenceUpload(CaseEvidenceRecognitionRequest request);
}
